package cn.org.farseer.sweetftp.core.persistent;

import java.util.List;


/**
 * 作者 : [Farseer.org] 简洋  —  2009-8-17
 * 
 * 项目 : [Farseer.org] SweetFTP
 *
 * 说明：持久化接口，可以把对象持久化。持久目的地及方式根据不同的实现类来决定。
 */
public interface IPersistent
{
	/**
	 * 调用该方法持久化一组可以被持久化的对象。
	 * 需要传入一个IPersistentable接口参数以获取一些持久化所需信息。
	 * @param persistentables
	 * @return
	 */
	public boolean persistent(List<Object>  objects,IPersistentable persistentable);
	
	
	/**
	 * 持久化单个对象。
	 * @param object
	 * @param persistentable
	 * @return
	 */
	public boolean persistentSingle(Object  object,IPersistentable persistentable);
	
	
	/**
	 * 加载单个对象。
	 * @param persistentable
	 * @return
	 */
	public Object loadSingleObject(IPersistentable persistentable);
	
	/**
	 * 从配置文件中读取出被持久化的对象。
	 * 需要传入一个IPersistentable接口参数以获取一些持久化所需信息。
	 * @param persistentable
	 * @return
	 */
	public List<Object> load(IPersistentable persistentable);
	
	/**
	 * 设置持久化配置。
	 * @param configure
	 */
	public void setConfigure(PersistentConfigure configure);
}
